home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / rose.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  2KB  |  88 lines

  1. /*
  2.  * These are the public elements of the Linux kernel Rose implementation.
  3.  * For kernel AX.25 see the file ax25.h. This file requires ax25.h for the
  4.  * definition of the ax25_address structure.
  5.  */
  6.  
  7. #ifndef    ROSE_KERNEL_H
  8. #define    ROSE_KERNEL_H
  9.  
  10. #define ROSE_MTU    251
  11.  
  12. #define ROSE_MAX_DIGIS 6
  13.  
  14. #define    ROSE_DEFER    1
  15. #define ROSE_T1        2
  16. #define    ROSE_T2        3
  17. #define    ROSE_T3        4
  18. #define    ROSE_IDLE    5
  19. #define    ROSE_QBITINCL    6
  20. #define    ROSE_HOLDBACK    7
  21.  
  22. #define    SIOCRSGCAUSE        (SIOCPROTOPRIVATE+0)
  23. #define    SIOCRSSCAUSE        (SIOCPROTOPRIVATE+1)
  24. #define    SIOCRSL2CALL        (SIOCPROTOPRIVATE+2)
  25. #define    SIOCRSSL2CALL        (SIOCPROTOPRIVATE+2)
  26. #define    SIOCRSACCEPT        (SIOCPROTOPRIVATE+3)
  27. #define    SIOCRSCLRRT        (SIOCPROTOPRIVATE+4)
  28. #define    SIOCRSGL2CALL        (SIOCPROTOPRIVATE+5)
  29. #define    SIOCRSGFACILITIES    (SIOCPROTOPRIVATE+6)
  30.  
  31. #define    ROSE_DTE_ORIGINATED    0x00
  32. #define    ROSE_NUMBER_BUSY    0x01
  33. #define    ROSE_INVALID_FACILITY    0x03
  34. #define    ROSE_NETWORK_CONGESTION    0x05
  35. #define    ROSE_OUT_OF_ORDER    0x09
  36. #define    ROSE_ACCESS_BARRED    0x0B
  37. #define    ROSE_NOT_OBTAINABLE    0x0D
  38. #define    ROSE_REMOTE_PROCEDURE    0x11
  39. #define    ROSE_LOCAL_PROCEDURE    0x13
  40. #define    ROSE_SHIP_ABSENT    0x39
  41.  
  42. typedef struct {
  43.     char        rose_addr[5];
  44. } rose_address;
  45.  
  46. struct sockaddr_rose {
  47.     sa_family_t    srose_family;
  48.     rose_address    srose_addr;
  49.     ax25_address    srose_call;
  50.     int        srose_ndigis;
  51.     ax25_address    srose_digi;
  52. };
  53.  
  54. struct full_sockaddr_rose {
  55.     sa_family_t    srose_family;
  56.     rose_address    srose_addr;
  57.     ax25_address    srose_call;
  58.     unsigned int    srose_ndigis;
  59.     ax25_address    srose_digis[ROSE_MAX_DIGIS];
  60. };
  61.  
  62. struct rose_route_struct {
  63.     rose_address    address;
  64.     unsigned short    mask;
  65.     ax25_address    neighbour;
  66.     char        device[16];
  67.     unsigned char    ndigis;
  68.     ax25_address    digipeaters[AX25_MAX_DIGIS];
  69. };
  70.  
  71. struct rose_cause_struct {
  72.     unsigned char    cause;
  73.     unsigned char    diagnostic;
  74. };
  75.  
  76. struct rose_facilities_struct {
  77.     rose_address    source_addr,   dest_addr;
  78.     ax25_address    source_call,   dest_call;
  79.     unsigned char    source_ndigis, dest_ndigis;
  80.     ax25_address    source_digis[ROSE_MAX_DIGIS];
  81.     ax25_address    dest_digis[ROSE_MAX_DIGIS];
  82.     unsigned int    rand;
  83.     rose_address    fail_addr;
  84.     ax25_address    fail_call;
  85. };
  86.  
  87. #endif
  88.